+2007-04-01 Cody Russell <bratsche@gnome.org>
+
+ * modules/engines/ms-windows/msw_style.c: Fix rendering of
+ notebook tabs when they are bottom-oriented. Fixes #399253.
+
2007-03-31 Elijah Newren <newren gmail com>
* gdk/x11/gdkwindow-x11.c (setup_toplevel_window,
}
else if (real_gap_side == GTK_POS_BOTTOM)
{
- x2 = x;
- y2 = y + (state_type == GTK_STATE_NORMAL ? 0 : notebook->tab_vborder);
+ x2 = 0;
+ y2 = 0;
w2 = width;
h2 = height - (state_type == GTK_STATE_NORMAL ? 0 : notebook->tab_vborder * 2);
- target = window;
-
- /* If we are currently drawing the right-most tab (any state)... */
- if (widget->allocation.x + widget->allocation.width - border_width == x + width)
- {
- x2--;
- w2--;
- }
+ pixmap = gdk_pixmap_new (window, w2, h2, -1);
+ target = pixmap;
}
if (xp_theme_draw (target, tab_part, style, x2, y2, w2, h2, state_type, NULL /*area*/))
h2--;
}
}
+ else if (real_gap_side == GTK_POS_BOTTOM)
+ {
+ x2 = x;
+ y2 = y + (state_type == GTK_STATE_NORMAL ? 0 : notebook->tab_vborder);
+ w2 = width;
+ h2 = height - (state_type == GTK_STATE_NORMAL ? 0 : notebook->tab_vborder * 2);
+ /* If we are currently drawing the right-most tab (any state)... */
+ if (widget->allocation.x + widget->allocation.width - border_width == x + width)
+ {
+ x2--;
+ w2--;
+ }
+ }
gdk_draw_pixbuf (window, NULL, pixbuf, 0, 0, x2, y2, w2, h2, GDK_RGB_DITHER_NONE, 0, 0);
g_object_unref (G_OBJECT (pixbuf));
- if (real_gap_side == GTK_POS_LEFT || real_gap_side == GTK_POS_RIGHT)
+ if (real_gap_side == GTK_POS_LEFT || real_gap_side == GTK_POS_RIGHT || real_gap_side == GTK_POS_BOTTOM)
{
g_object_unref (pixmap);
}